﻿// 5089. 传递消息.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;
/*
https://www.acwing.com/problem/content/5092/


n 个学生排成一排，从左到右依次编号为 1∼n。

其中，第 i 个学生的身高为 hi。

所有学生的身高各不相同。

现在，老师掌握了一条重要消息，并希望按照如下规则传递给学生：

老师将消息告诉身高最高的学生。
每个学生收到消息后必须将消息传递给他的左使者和右使者。
一个学生的左（右）使者是指该学生的身高最高的左（右）随从。
一个学生的左（右）随从是指所有在他左（右）边、比他矮、并且能被他看到的学生。注意，一个学生可能有不止一个左（右）随从。
当一个学生向左（右）看时，他的视野会被他左（右）边离他最近且比他更高的那个学生挡住，导致他看不到更靠左（右）的学生。
例如，假设一共有 6 个学生，身高依次为 4,1,6,3,5,2，那么消息传递过程如下：

老师将消息告诉第 3 个学生。
第 3个学生将消息告诉第 1个学生（左使者）和第 5个学生（右使者）。
第 1 个学生将消息告诉第 2 个学生（右使者），
第 5 个学生将消息告诉第 4 个学生（左使者）和第 6 个学生（右使者）。
你的任务是找到消息传递路径。

输入格式
第一行包含一个整数 T，表示共有 T组测试数据。

每组数据第一行包含整数 n。

第二行包含 n 个整数 h1,h2,…,hn。

输出格式
每组数据第一行输出 Case t:，其中 t 为组别编号（从 1 开始）。

接下来 n 行，其中第 i 行输出两个整数，表示第 i 个学生的左使者和右使者的编号。
如果该学生没有左使者或右使者，则输出 0。

数据范围
1≤T≤10
,
1≤N≤50000
,
1≤hi≤231−1
输入样例：
2
5
5 2 4 3 1
5
2 1 4 3 5
输出样例：
Case 1:
0 3
0 0
2 4
0 5
0 0
Case 2:
0 2
0 0
1 4
0 0
3 0
*/



int main()
{
    std::cout << "Hello World!\n";
}

 